package com.et114.modules.cust.services;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.et114.components.simpletable.DataList;
import com.et114.core.services.IBaseService;
import com.et114.modules.cust.vo.CustBaseVo;
import com.et114.modules.cust.vo.CustInfoVo;
import com.et114.modules.cust.vo.LeadVo;
import com.et114.modules.org.vo.UserVo;

/**
 * @author zhiweip
 * @version 1.0
 * @created 09-十一月-2010 23:03:47
 */
public interface IMng_CustService extends IBaseService {

	/**
	 * 客户详细信息
	 * 
	 * @param cvo
	 */
	public CustBaseVo loadCust(CustBaseVo cvo);
	public LeadVo loadLeadCust(LeadVo vo);
	public List loadCustMsgByType(CustInfoVo vo);
	public int deleteCustById(CustBaseVo cust,String custids);

	/**
	 * 客户查询
	 * 
	 * @param cvo
	 * @throws Exception 
	 */
	public DataList queryCustDataList(CustBaseVo vo) throws Exception;
	
	public Integer newEmptyCust(CustBaseVo vo);
	public Integer newCust(CustBaseVo vo,HttpServletRequest request) throws Exception;
	
	public void updateLeaderCustEmp(CustBaseVo vo,String[] custids);
	
	public void insertCustMsg(CustInfoVo vo);
	public void deleteCustmsg(CustInfoVo vo);
	
	public LeadVo loadLeader(LeadVo cvo);
	public List queryLeaderIntentList(LeadVo vo);
	public Integer update_Lead_Intent(LeadVo vo,HttpServletRequest request) throws Exception; 
	
	public DataList queryLeadDataList(LeadVo vo) throws Exception;
	
	public void toExpXls(LeadVo vo, HttpServletResponse response) throws Exception;
	public void toExpXls_Cust(CustBaseVo vo, HttpServletResponse response) throws Exception;
	public List queryCustInfoList(CustInfoVo vo);
	public List getItemTypes() throws Exception;
	public int deleteCust_info_byKey(CustInfoVo vo);
	public List query_PUB_LEADER_LOG(LeadVo vo);
	
	public DataList query_custOrdDataList ( CustBaseVo vo ) throws Exception;
	public void toExpOrdXls_Cust(CustBaseVo vo, HttpServletResponse response) throws Exception;

	public int update_Pub_Cust_By_orderstate(CustBaseVo vo );
}